1. Field of the Disclosure
The present disclosure relates to electronic devices, and more specifically to data processing devices having floating-point processing capabilities.
2. Description of the Related Art
Data processing devices may use integer numbers or floating-point numbers to carry out computations. Floating-point numbers are used for calculations involving very large or very small numbers, and are typically represented within registers of a data processing device by formats that define locations for storing exponent and mantissa (significant) information. Floating-point formats, including that specified by IEEE 754, allow for floating-point values to be stored that represent floating-point numbers or that represents something other than a floating-point number (a non-floating-point number) in response to conditions that can arise during a floating-point calculation. For example, the result of dividing zero by zero is not a floating-point number in the normal sense, nor is multiplying infinity by zero. Thus, a floating-point format can specify a particular manner to store information that by definition is a floating-point value that represents a floating-point result that is not a number. A floating-point value that represents something other than a floating-point number or infinity is referred to as a “NaN”, or a “NaN value”.
NaN values may participate as operands, e.g., input data, of floating-point instructions in some data processing systems. An operand having a NaN value can be referred to as an “operand that is a NaN”, or as a “Nan operand”. When a NaN instruction generates a NaN resultant by virtue of receiving a NaN operand, the NaN operand is said to be propagated, and the NaN resultant can be referred to as propagated, e.g., a propagated NaN resultant. Alternatively, a NaN resultant can be calculated based only upon Non-NaN values, such as floating-point numbers. A resultant having a NaN value can be referred to as “resultant that is a NaN”, or as a “NaN resultant”.